<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    ul,
    ol,
    li {
      list-style: none;
    }
  </style>
</head>

<body>

  <div id="app">

    <input type="text" v-model="username">
    <div>
      <input type="radio" id="sex1" value="男" v-model="sex">
      <label for="sex1">男</label>
      <br>
      <input type="radio" id="sex2" value="女" v-model="sex">
      <label for="sex2">女</label>
      <br>
    </div>
    <div>
      问候语：{{sayHello}}
    </div>
  </div>

  <script src="./js/vue.js"></script>
  <script>
    let vm = new Vue({
      el: '#app',
      data: {
        sex: '男',
        username: ''
      },
      computed: {
        // 计算属性，依赖已一个或多个变量，当依赖变量改变时，就执行这个函数，返回一个结果。
        // 计算属性做文本插值或属性绑定的语法，和data里面的属性一样使用。
        // 自身的语法，就是一个有返回值的函数。
        sayHello() {
          let str = this.sex === '男' ? '先生' : '女士'
          return this.username ? `${this.username} ${str},您好。` : ''
        }
      }
    });


  </script>
</body>

</html>